<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Precision Time Protocol</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Precision_Time_Protocol"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Precision_Time_Protocol rootpage-Precision_Time_Protocol skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Precision Time Protocol</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p class="mw-empty-elt">
</p>
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent" style="width:26em;"><caption class="infobox-title summary">Precision Time Protocol</caption><tbody><tr><td colspan="2" class="infobox-subheader"><a href="Communication_protocol" title="Communication protocol">Communication protocol</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Abbreviation</th><td class="infobox-data">PTP</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Purpose</th><td class="infobox-data">Time</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Developer(s)</th><td class="infobox-data"><a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Introduction</th><td class="infobox-data">2002<span style="display:none"> (<span class="bday dtstart published updated">2002</span>)</span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;"><a href="Port_(computer_networking)" title="Port (computer networking)">Port(s)</a></th><td class="infobox-data">udp/319, udp/320</td></tr></tbody></table>
<p>The <b>Precision Time Protocol</b> (<b>PTP</b>) is a <a href="Protocol_(computing)" class="mw-redirect" title="Protocol (computing)">protocol</a> for <a href="Clock_synchronization" title="Clock synchronization">clock synchronization</a> throughout a <a href="Computer_network" title="Computer network">computer network</a> with relatively high <a href="Accuracy_and_precision" title="Accuracy and precision">precision</a> and therefore <i>potentially</i> high accuracy. In a <a href="Local_area_network" title="Local area network">local area network</a> (LAN), accuracy can be sub-microsecond – making it suitable for measurement and control systems.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> PTP is used to synchronize <a href="Financial_transaction" title="Financial transaction">financial transactions</a>, <a href="Mobile_phone_tower" class="mw-redirect" title="Mobile phone tower">mobile phone tower</a> transmissions, sub-sea <a href="Acoustic_array" class="mw-redirect" title="Acoustic array">acoustic arrays</a>, and networks that require precise timing but lack access to <a href="Satellite_navigation" title="Satellite navigation">satellite navigation</a> signals.
</p><p>The first version of PTP, <b>IEEE 1588-2002</b>, was published in 2002. <b>IEEE 1588-2008</b>, also known as PTP Version 2, is not <a href="Backward_compatible" class="mw-redirect" title="Backward compatible">backward compatible</a> with the 2002 version. <b>IEEE 1588-2019</b> was published in November 2019 and includes backward-compatible improvements to the 2008 publication. IEEE 1588-2008 includes a <i>profile</i> concept defining PTP operating parameters and options. Several profiles have been defined for applications including <a href="Telecommunications" title="Telecommunications">telecommunications</a>, <a href="Electric_power_distribution" title="Electric power distribution">electric power distribution</a> and <a href="Audiovisual" title="Audiovisual">audiovisual</a> uses. <b><style data-mw-deduplicate="TemplateStyles:r1238216509">
/* start https://en.wikipedia.org/ */
.mw-parser-output .vanchor>:target~.vanchor-text{background-color:#b1d2ff}@media screen{html.skin-theme-clientpref-night .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}
/* end https://en.wikipedia.org/ */
</style><span class="vanchor"><span class="vanchor-text">IEEE 802.1AS</span></span></b> is an adaptation of PTP, called gPTP, for use with <a href="Audio_Video_Bridging" title="Audio Video Bridging">Audio Video Bridging</a> (AVB) and <a href="Time-Sensitive_Networking" title="Time-Sensitive Networking">Time-Sensitive Networking</a> (TSN).
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>According to John Eidson, who led the IEEE 1588-2002 standardization effort, "IEEE 1588 is designed to fill a niche not well served by either of the two dominant protocols, <a href="Network_Time_Protocol" title="Network Time Protocol">NTP</a> and <a href="GPS" class="mw-redirect" title="GPS">GPS</a>. IEEE 1588 is designed for local systems requiring accuracies beyond those attainable using NTP. It is also designed for applications that cannot bear the cost of a <a href="GPS_receiver" class="mw-redirect" title="GPS receiver">GPS receiver</a> at each node, or for which GPS signals are inaccessible."<sup id="cite_ref-Eidson_2-0" class="reference"><a href="#cite_note-Eidson-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>PTP was originally defined in the IEEE 1588-2002 standard, officially titled <i>Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</i>, and published in 2002. In 2008, IEEE 1588-2008 was released as a revised standard; also known as PTP version 2 (PTPv2), it improves accuracy, precision and robustness but is not <a href="Backward_compatible" class="mw-redirect" title="Backward compatible">backward compatible</a> with the original 2002 version.<sup id="cite_ref-Eidson2_3-0" class="reference"><a href="#cite_note-Eidson2-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> IEEE 1588-2019 was published in November 2019,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> is informally known as <i>PTPv2.1</i> and includes backwards-compatible improvements to the 2008 publication.<sup id="cite_ref-Arnold_2017_5-0" class="reference"><a href="#cite_note-Arnold_2017-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Architecture">Architecture</h2></div>
<p>The IEEE 1588 standards describe a <a href="Hierarchy" title="Hierarchy">hierarchical</a> <a href="Master/slave_(technology)" class="mw-redirect" title="Master/slave (technology)">master–slave architecture</a> for clock <a href="Distributed_computing" title="Distributed computing">distribution</a> consisting of one or more <a href="Network_segment" title="Network segment">network segments</a> and one or more clocks. An <i>ordinary clock</i> is a device with a single network connection that is either the source of or the destination for a synchronization reference. A source is called a <i>master</i> (alternately <i>timeTransmitter</i><sup id="cite_ref-IEEE_1588g_6-0" class="reference"><a href="#cite_note-IEEE_1588g-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>), and a destination is called a <i>slave</i> (alternately <i>timeReceiver</i><sup id="cite_ref-IEEE_1588g_6-1" class="reference"><a href="#cite_note-IEEE_1588g-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>). A <i>boundary clock</i> has multiple network connections and synchronizes one network segment to another. A single, synchronization leader is selected, a.k.a. elected, for each network segment. The root timing reference is called the <i>grandmaster</i>.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p>A relatively simple PTP architecture consists of ordinary clocks on a single-segment network with no boundary clocks. A grandmaster is elected and all other clocks synchronize to it.
</p><p>IEEE 1588-2008 introduces a clock associated with network equipment used to convey PTP messages. The <i>transparent clock</i> modifies PTP messages as they pass through the device.<sup id="cite_ref-TI2013_8-0" class="reference"><a href="#cite_note-TI2013-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> <a href="Timestamps" class="mw-redirect" title="Timestamps">Timestamps</a> in the messages are corrected for time spent traversing the network equipment. This scheme improves distribution accuracy by compensating for <a href="Packet_delay_variation" title="Packet delay variation">delivery variability</a> across the network.
</p><p>PTP typically uses the same <a href="Epoch_(computing)" title="Epoch (computing)">epoch</a> as <a href="Unix_time" title="Unix time">Unix time</a> (start of 1 January 1970).<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>a<span class="cite-bracket">]</span></a></sup> While the Unix time is based on <a href="Coordinated_Universal_Time" title="Coordinated Universal Time">Coordinated Universal Time</a> (UTC) and is subject to <a href="Leap_second" title="Leap second">leap seconds</a>, PTP is based on <a href="International_Atomic_Time" title="International Atomic Time">International Atomic Time</a> (TAI). The PTP grandmaster communicates the current offset between UTC and TAI, so that UTC can be computed from the received PTP time.
</p>
<div class="mw-heading mw-heading2"><h2 id="Protocol_details">Protocol details</h2></div>
<p>Synchronization and management of a PTP system is achieved through the exchange of messages across the communications medium. To this end, PTP uses the following message types.
</p>
<ul><li><i>Sync</i>, <i>Follow_Up</i>, <i>Delay_Req</i> and <i>Delay_Resp</i> messages are used by <i>ordinary</i> and <i>boundary</i> clocks and communicate time-related information used to synchronize clocks across the network.</li>
<li><i>Pdelay_Req</i>, <i>Pdelay_Resp</i> and <i>Pdelay_Resp_Follow_Up</i> are used by <i>transparent</i> clocks to measure delays across the communications medium so that they can be compensated for by the system. <i>Transparent</i> clocks and these messages associated with them are not available in original IEEE 1588-2002 PTPv1 standard, and were added in PTPv2.</li>
<li><i>Announce</i> messages are used by the <a href="#Best_master_clock_algorithm">best master clock algorithm</a> in IEEE 1588-2008 to build a clock hierarchy and select the <i>grandmaster</i>.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>b<span class="cite-bracket">]</span></a></sup></li>
<li><i>Management</i> messages are used by <a href="Network_management" title="Network management">network management</a> to monitor, configure and maintain a PTP system.</li>
<li><i>Signaling</i> messages are used for non-time-critical communications between clocks. Signaling messages were introduced in IEEE 1588-2008.</li></ul>
<p>Messages are categorized as <i>event</i> and <i>general</i> messages. <i>Event</i> messages are time-critical in that accuracy in transmission and receipt timestamp accuracy directly affects clock distribution accuracy. <i>Sync</i>, <i>Delay_Req</i>, <i>Pdelay_Req</i> and <i>Pdelay_resp</i> are <i>event</i> messages. <i>General</i> messages are more conventional <a href="Protocol_data_units" class="mw-redirect" title="Protocol data units">protocol data units</a> in that the data in these messages is of importance to PTP, but their transmission and receipt timestamps are not. <i>Announce</i>, <i>Follow_Up</i>, <i>Delay_Resp</i>, <i>Pdelay_Resp_Follow_Up</i>, <i>Management</i> and <i>Signaling</i> messages are members of the <i>general</i> message class.<sup id="cite_ref-1588-2008_9-1" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Clause 6.4">: Clause 6.4 </span></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Message_transport">Message transport</h3></div>
<p>PTP messages may use the <a href="User_Datagram_Protocol" title="User Datagram Protocol">User Datagram Protocol</a> over <a href="Internet_Protocol" title="Internet Protocol">Internet Protocol</a> (UDP/IP) for transport. IEEE 1588-2002 uses only <a href="IPv4" title="IPv4">IPv4</a> transports,<sup id="cite_ref-1588-2002_12-0" class="reference"><a href="#cite_note-1588-2002-12"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex D">: Annex D </span></sup> but this has been extended to include <a href="IPv6" title="IPv6">IPv6</a> in IEEE 1588-2008.<sup id="cite_ref-1588-2008_9-2" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex F">: Annex F </span></sup> In IEEE 1588-2002, all PTP messages are sent using <a href="Multicast" title="Multicast">multicast</a> messaging, while IEEE 1588-2008 introduced an option for devices to negotiate <a href="Unicast" title="Unicast">unicast</a> transmission on a port-by-port basis.<sup id="cite_ref-1588-2008_9-3" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Clause 16.1">: Clause 16.1 </span></sup> Multicast transmissions use <a href="IP_multicast" title="IP multicast">IP multicast</a> addressing, for which multicast group addresses are defined for IPv4 and IPv6 (see table).<sup id="cite_ref-1588-2008_9-4" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex D and E">: Annex D and E </span></sup> Time-critical <i>event</i> messages (Sync, Delay_req, Pdelay_Req and Pdelay_Resp) are sent to <a href="Port_number" class="mw-redirect" title="Port number">port number</a> 319. <i>General</i> messages (Announce, Follow_Up, Delay_Resp, Pdelay_Resp_Follow_Up, management and signaling) use port number 320.<sup id="cite_ref-1588-2008_9-5" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Clause 6.4">: Clause 6.4 </span></sup>
</p>
<table class="wikitable">
<caption>Multicast group addresses
</caption>
<tbody><tr>
<th>Messages
</th>
<th>IPv4
</th>
<th>IPv6
</th>
<th>IEEE 802.3 Ethernet<sup id="cite_ref-1588-2008_9-6" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex F">: Annex F </span></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>c<span class="cite-bracket">]</span></a></sup>
</th>
<th>Type
</th></tr>
<tr>
<td>All except peer delay messages
</td>
<td>224.0.1.129<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>d<span class="cite-bracket">]</span></a></sup>
</td>
<td>FF0x::181<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>e<span class="cite-bracket">]</span></a></sup>
</td>
<td>01-1B-19-00-00-00<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>f<span class="cite-bracket">]</span></a></sup>
</td>
<td>Forwardable
</td></tr>
<tr>
<td>Peer delay messages: <i>Pdelay_Req</i>, <i>Pdelay_Resp</i> and <i>Pdelay_Resp_Follow_Up</i><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>g<span class="cite-bracket">]</span></a></sup>
</td>
<td>224.0.0.107<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>h<span class="cite-bracket">]</span></a></sup>
</td>
<td>FF02::6B
</td>
<td>01-80-C2-00-00-0E
</td>
<td>Non-forwardable
</td></tr></tbody></table>
<p>In IEEE 1588-2008, encapsulation is also defined for <a href="DeviceNet" title="DeviceNet">DeviceNet</a>,<sup id="cite_ref-1588-2008_9-7" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex G">: Annex G </span></sup> <a href="ControlNet" title="ControlNet">ControlNet</a><sup id="cite_ref-1588-2008_9-8" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex H">: Annex H </span></sup> and <a href="PROFINET" class="mw-redirect" title="PROFINET">PROFINET</a>.<sup id="cite_ref-1588-2008_9-9" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex I">: Annex I </span></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Domains">Domains</h3></div>
<p>A domain<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>i<span class="cite-bracket">]</span></a></sup> is an interacting set of clocks that synchronize to one another using PTP. Clocks are assigned to a domain by virtue of the contents of the <i>Subdomain name</i> (IEEE 1588-2002) or the <i>domainNumber</i> (IEEE 1588-2008) fields in PTP messages they receive or generate. Domains allow multiple clock distribution systems to share the same communications medium.
</p>
<table class="wikitable">
<tbody><tr>
<th><i>Subdomain name</i> field contents (<span style="white-space:nowrap">IEEE<span style="margin-left:0.25em">1588-2002</span></span>)
</th>
<th>IPv4 multicast address<br>(<span style="white-space:nowrap">IEEE<span style="margin-left:0.25em">1588-2002</span></span>)<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>j<span class="cite-bracket">]</span></a></sup>
</th>
<th><i>domainNumber</i><br>(<span style="white-space:nowrap">IEEE<span style="margin-left:0.25em">1588-2008</span></span>)
</th>
<th>Notes
</th></tr>
<tr>
<td>_DFLT
</td>
<td>224.0.1.129
</td>
<td>0
</td>
<td>Default domain
</td></tr>
<tr>
<td>_ALT1
</td>
<td>224.0.1.130
</td>
<td>1
</td>
<td>Alternate domain 1
</td></tr>
<tr>
<td>_ALT2
</td>
<td>224.0.1.131
</td>
<td>2
</td>
<td>Alternate domain 2
</td></tr>
<tr>
<td>_ALT3
</td>
<td>224.0.1.132
</td>
<td>3
</td>
<td>Alternate domain 3
</td></tr>
<tr>
<td>Application specific up to 15 octets<sup id="cite_ref-1588-2002_12-1" class="reference"><a href="#cite_note-1588-2002-12"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Clause 6.2.5.1">: Clause 6.2.5.1 </span></sup>
</td>
<td>224.0.1.130, 131 or 132 as per <a href="Hash_function" title="Hash function">hash function</a> on <i>Subdomain name</i><sup id="cite_ref-1588-2002_12-2" class="reference"><a href="#cite_note-1588-2002-12"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex C">: Annex C </span></sup>
</td>
<td>4 through 127
</td>
<td>User-defined domains
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Best_master_clock_algorithm">Best master clock algorithm</h2></div>
<p>The <i>best master clock algorithm</i> (BMCA) performs a distributed selection of the best clock to act as leader based on the following clock properties:
</p>
<ul><li>Identifier – A universally unique numeric identifier for the clock. This is typically constructed based on a device's <a href="MAC_address" title="MAC address">MAC address</a>.</li>
<li>Quality – Both versions of IEEE 1588 attempt to quantify clock quality based on expected timing deviation, technology used to implement the clock or location in a <a href="Clock_stratum" class="mw-redirect" title="Clock stratum">clock stratum</a> schema, although only V1 (IEEE 1588-2002) knows a data field <i>stratum</i>. PTP V2 (IEEE 1588-2008) defines the overall quality of a clock by using the data fields <i>clockAccuracy</i> and <i>clockClass</i>.</li>
<li>Priority – An administratively assigned precedence hint used by the BMCA to help select a <i>grandmaster</i> for the PTP domain. IEEE 1588-2002 used a single <a href="Boolean_variable" class="mw-redirect" title="Boolean variable">Boolean variable</a> to indicate precedence. IEEE 1588-2008 features two 8-bit priority fields.</li>
<li>Variance – A clock's estimate of its stability based on observation of its performance against the PTP reference.</li></ul>
<p>IEEE 1588-2008 uses a hierarchical selection algorithm based on the following properties, in the indicated order:<sup id="cite_ref-1588-2008_9-10" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Figure 27">: Figure 27 </span></sup>
</p>
<ol><li>Priority 1 – the user can assign a specific static-designed priority to each clock, preemptively defining a priority among them. Smaller numeric values indicate higher priority.</li>
<li>Class – each clock is a member of a given class, each class getting its own priority.</li>
<li>Accuracy – precision between clock and UTC, in nanoseconds (ns)</li>
<li>Variance – variability of the clock</li>
<li>Priority 2 – final-defined priority, defining backup order in case the other criteria were not sufficient. Smaller numeric values indicate higher priority.</li>
<li>Unique identifier – MAC address-based selection is used as a tiebreaker when all other properties are equal.</li></ol>
<p>IEEE 1588-2002 uses a selection algorithm based on similar properties.
</p><p>Clock properties are advertised in IEEE 1588-2002 <i>Sync</i> messages and in IEEE 1588-2008 <i>Announce</i> messages. The current leader transmits this information at regular interval. A clock that considers itself a better leader will transmit this information in order to invoke a change of leader. Once the current leader recognizes the better clock, the current leader stops transmitting <i>Sync</i> messages and associated clock properties (<i>Announce</i> messages in the case of IEEE 1588-2008) and the better clock takes over as leader.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> The BMCA only considers the self-declared quality of clocks and does not take network link quality into consideration.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Synchronization">Synchronization</h2></div>
<p>Via BMCA, PTP selects a source of time for an IEEE 1588 domain and for each network segment in the domain.
</p><p>Clocks determine the offset between themselves and their leader.<sup id="cite_ref-IEC_23-0" class="reference"><a href="#cite_note-IEC-23"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> Let the variable <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t}</annotation>
</semantics>
</math></span><img src="./65658b7b223af9e1acc877d848888ecdb4466560.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}" loading="lazy"></span> represent physical time. For a given follower device, the offset <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle o(t)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>o</mi>
<mo stretchy="false">(</mo>
<mi>t</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle o(t)}</annotation>
</semantics>
</math></span><img src="./241c8f555002b4df57e79ce53ee57227fafb5f47.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:3.777ex; height:2.843ex;" alt="{\displaystyle o(t)}" loading="lazy"></span> at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t}</annotation>
</semantics>
</math></span><img src="./65658b7b223af9e1acc877d848888ecdb4466560.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}" loading="lazy"></span> is defined by:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \ o(t)=s(t)-m(t)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mtext> </mtext>
<mi>o</mi>
<mo stretchy="false">(</mo>
<mi>t</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mi>s</mi>
<mo stretchy="false">(</mo>
<mi>t</mi>
<mo stretchy="false">)</mo>
<mo>−<!-- − --></mo>
<mi>m</mi>
<mo stretchy="false">(</mo>
<mi>t</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \ o(t)=s(t)-m(t)}</annotation>
</semantics>
</math></span><img src="./b31dc1a597e1e906f8dad2dcc855dd632c36d707.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.725ex; height:2.843ex;" alt="{\displaystyle \ o(t)=s(t)-m(t)}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle s(t)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>s</mi>
<mo stretchy="false">(</mo>
<mi>t</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle s(t)}</annotation>
</semantics>
</math></span><img src="./c484de351ba40ccb9a5ad522c29c1aac5686c0df.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:3.739ex; height:2.843ex;" alt="{\displaystyle s(t)}" loading="lazy"></span> represents the time measured by the follower clock at physical time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t}</annotation>
</semantics>
</math></span><img src="./65658b7b223af9e1acc877d848888ecdb4466560.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}" loading="lazy"></span>, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m(t)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>m</mi>
<mo stretchy="false">(</mo>
<mi>t</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle m(t)}</annotation>
</semantics>
</math></span><img src="./ea26578dd72bf4dbc3fa391c9feb11eed495699b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.689ex; height:2.843ex;" alt="{\displaystyle m(t)}" loading="lazy"></span> represents the time measured by the leader clock at physical time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t}</annotation>
</semantics>
</math></span><img src="./65658b7b223af9e1acc877d848888ecdb4466560.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}" loading="lazy"></span>.
</p><p>The leader periodically broadcasts the current time as a message to the other clocks. Under IEEE 1588-2002 broadcasts are up to once per second. Under IEEE 1588-2008, up to 10 per second are permitted.
</p>
<p>Each broadcast begins at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{1}}</annotation>
</semantics>
</math></span><img src="./2f304724948a3ef606c4a92459e22b87a954d993.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.412ex; height:2.509ex;" alt="{\displaystyle T_{1}}" loading="lazy"></span> with a <i>Sync</i> message sent by the leader to all the clocks in the domain. A clock receiving this message takes note of the local time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{1}'}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
<mo>′</mo>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{1}'}</annotation>
</semantics>
</math></span><img src="./ac58e22462fc1aeef6a80d3f5649af0a52fcbdc1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.412ex; height:2.843ex;" alt="{\displaystyle T_{1}'}" loading="lazy"></span> when this message is received.
</p><p>The leader may subsequently send a multicast <i>Follow_Up</i> with accurate <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{1}}</annotation>
</semantics>
</math></span><img src="./2f304724948a3ef606c4a92459e22b87a954d993.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.412ex; height:2.509ex;" alt="{\displaystyle T_{1}}" loading="lazy"></span> timestamp. Not all leaders have the ability to present an accurate timestamp in the <i>Sync</i> message. It is only after the transmission is complete that they are able to retrieve an accurate timestamp for the <i>Sync</i> transmission from their network hardware. Leaders with this limitation use the <i>Follow_Up</i> message to convey <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{1}}</annotation>
</semantics>
</math></span><img src="./2f304724948a3ef606c4a92459e22b87a954d993.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.412ex; height:2.509ex;" alt="{\displaystyle T_{1}}" loading="lazy"></span>. Leaders with PTP capabilities built into their network hardware are able to present an accurate timestamp in the <i>Sync</i> message and do not need to send Follow_Up messages.
</p><p>In order to accurately synchronize to their leader, clocks must individually determine the network transit time of the <i>Sync</i> messages. The transit time is determined indirectly by measuring round-trip time from each clock to its leader. The clocks initiate an exchange with their leader designed to measure the transit time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d}</annotation>
</semantics>
</math></span><img src="./e85ff03cbe0c7341af6b982e47e9f90d235c66ab.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle d}" loading="lazy"></span>. The exchange begins with a clock sending a <i>Delay_Req</i> message at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{2}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{2}}</annotation>
</semantics>
</math></span><img src="./d1ba5f12fbb0ff766aec6e22148b429373608555.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.412ex; height:2.509ex;" alt="{\displaystyle T_{2}}" loading="lazy"></span> to the leader. The leader receives and timestamps the <i>Delay_Req</i> at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{2}'}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
<mo>′</mo>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{2}'}</annotation>
</semantics>
</math></span><img src="./3be30a7034a4cf80eb1d4f05ac8995d188a5c66e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.412ex; height:2.843ex;" alt="{\displaystyle T_{2}'}" loading="lazy"></span> and responds with a <i>Delay_Resp</i> message. The leader includes the timestamp <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{2}'}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
<mo>′</mo>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{2}'}</annotation>
</semantics>
</math></span><img src="./3be30a7034a4cf80eb1d4f05ac8995d188a5c66e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.412ex; height:2.843ex;" alt="{\displaystyle T_{2}'}" loading="lazy"></span> in the <i>Delay_Resp</i> message.
</p><p>Through these exchanges a clock learns <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{1}}</annotation>
</semantics>
</math></span><img src="./2f304724948a3ef606c4a92459e22b87a954d993.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.412ex; height:2.509ex;" alt="{\displaystyle T_{1}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{1}'}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
<mo>′</mo>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{1}'}</annotation>
</semantics>
</math></span><img src="./ac58e22462fc1aeef6a80d3f5649af0a52fcbdc1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.412ex; height:2.843ex;" alt="{\displaystyle T_{1}'}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{2}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{2}}</annotation>
</semantics>
</math></span><img src="./d1ba5f12fbb0ff766aec6e22148b429373608555.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.412ex; height:2.509ex;" alt="{\displaystyle T_{2}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T_{2}'}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
<mo>′</mo>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T_{2}'}</annotation>
</semantics>
</math></span><img src="./3be30a7034a4cf80eb1d4f05ac8995d188a5c66e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.412ex; height:2.843ex;" alt="{\displaystyle T_{2}'}" loading="lazy"></span>.
</p><p>If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d}</annotation>
</semantics>
</math></span><img src="./e85ff03cbe0c7341af6b982e47e9f90d235c66ab.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle d}" loading="lazy"></span> is the transit time for the <i>Sync</i> message, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tilde {o}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>o</mi>
<mo stretchy="false">~<!-- ~ --></mo>
</mover>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\tilde {o}}}</annotation>
</semantics>
</math></span><img src="./c204684c345609a5985599bb3961a82744a19023.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.292ex; height:2.176ex;" alt="{\displaystyle {\tilde {o}}}" loading="lazy"></span> is the constant offset between leader and follower clocks, then
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \ T_{1}'-T_{1}={\tilde {o}}+d{\text{ and }}\ T_{2}'-T_{2}=-{\tilde {o}}+d}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mtext> </mtext>
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
<mo>′</mo>
</msubsup>
<mo>−<!-- − --></mo>
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>o</mi>
<mo stretchy="false">~<!-- ~ --></mo>
</mover>
</mrow>
</mrow>
<mo>+</mo>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext> and </mtext>
</mrow>
<mtext> </mtext>
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
<mo>′</mo>
</msubsup>
<mo>−<!-- − --></mo>
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>=</mo>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>o</mi>
<mo stretchy="false">~<!-- ~ --></mo>
</mover>
</mrow>
</mrow>
<mo>+</mo>
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \ T_{1}'-T_{1}={\tilde {o}}+d{\text{ and }}\ T_{2}'-T_{2}=-{\tilde {o}}+d}</annotation>
</semantics>
</math></span><img src="./bfa91ba13375614a95bf79703b0ff95548ff08e3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:40.099ex; height:2.843ex;" alt="{\displaystyle \ T_{1}'-T_{1}={\tilde {o}}+d{\text{ and }}\ T_{2}'-T_{2}=-{\tilde {o}}+d}" loading="lazy"></span></dd></dl>
<p>Combining the above two equations, we find that
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tilde {o}}={\frac {1}{2}}(T_{1}'-T_{1}-T_{2}'+T_{2})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>o</mi>
<mo stretchy="false">~<!-- ~ --></mo>
</mover>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mrow>
<mo stretchy="false">(</mo>
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
<mo>′</mo>
</msubsup>
<mo>−<!-- − --></mo>
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msubsup>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
<mo>′</mo>
</msubsup>
<mo>+</mo>
<msub>
<mi>T</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\tilde {o}}={\frac {1}{2}}(T_{1}'-T_{1}-T_{2}'+T_{2})}</annotation>
</semantics>
</math></span><img src="./018b5557d5e574ab310648a27acad17b2439e0da.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:26.366ex; height:5.176ex;" alt="{\displaystyle {\tilde {o}}={\frac {1}{2}}(T_{1}'-T_{1}-T_{2}'+T_{2})}" loading="lazy"></span></dd></dl>
<p>The clock now knows the offset <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tilde {o}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>o</mi>
<mo stretchy="false">~<!-- ~ --></mo>
</mover>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\tilde {o}}}</annotation>
</semantics>
</math></span><img src="./c204684c345609a5985599bb3961a82744a19023.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.292ex; height:2.176ex;" alt="{\displaystyle {\tilde {o}}}" loading="lazy"></span> during this transaction and can correct itself by this amount to bring it into agreement with their leader.
</p><p>One assumption is that this exchange of messages happens over a period of time so small that this offset can safely be considered constant over that period. Another assumption is that the transit time of a message going from the leader to a follower is equal to the transit time of a message going from the follower to the leader. Finally, it is assumed that both the leader and follower can accurately measure the time they send or receive a message. The degree to which these assumptions hold true determines the accuracy of the clock at the follower device.<sup id="cite_ref-1588-2008_9-11" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Clause 6.2">: Clause 6.2 </span></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Optional_features">Optional features</h2></div>
<p>IEEE 1588-2008 standard lists the following set of features that implementations may choose to support:
</p>
<ul><li>Alternate Time-Scale</li>
<li>Grand Master Cluster</li>
<li>Unicast Masters</li>
<li>Alternate Master</li>
<li>Path Trace</li></ul>
<p>IEEE 1588-2019 adds additional optional and backward-compatible features:<sup id="cite_ref-Arnold_2017_5-1" class="reference"><a href="#cite_note-Arnold_2017-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Modular transparent clocks</li>
<li>Special PTP ports to interface with transports with built-in time distribution</li>
<li>Unicast <i>Delay_Req</i> and <i>Delay_Resp</i> messages</li>
<li>Manual port configuration overriding BMCA</li>
<li>Asymmetry calibration</li>
<li>Ability to utilize a physical layer frequency reference (e.g. <a href="Synchronous_Ethernet" title="Synchronous Ethernet">Synchronous Ethernet</a>)</li>
<li>Profile isolation</li>
<li>Inter-domain interactions</li>
<li>Security TLV for integrity checking</li>
<li>Standard performance reporting metrics</li>
<li>Slave port monitoring</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Related_initiatives">Related initiatives</h2></div>
<ul><li>The <i>International IEEE Symposium on Precision Clock Synchronization for Measurement, Control and Communication</i> (ISPCS) is an IEEE-organized annual event that includes a <a href="Plugtest" title="Plugtest">plugtest</a> and a conference program with paper and poster presentations, tutorials and discussions covering several aspects of PTP.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup></li>
<li>The Institute of Embedded Systems (InES) of the <a href="Zurich_University_of_Applied_Sciences/ZHAW" title="Zurich University of Applied Sciences/ZHAW">Zurich University of Applied Sciences/ZHAW</a> is addressing the practical implementation and application of PTP.</li>
<li>IEEE 1588 is a key technology in the <a href="LXI" class="mw-redirect" title="LXI">LXI</a> Standard for Test and Measurement communication and control.</li>
<li>IEEE 802.1AS-2011 is part of the IEEE <a href="Audio_Video_Bridging" title="Audio Video Bridging">Audio Video Bridging</a> (AVB) group of standards.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>k<span class="cite-bracket">]</span></a></sup> It specifies a profile for use of IEEE 1588-2008 for time synchronization over a virtual bridged local area network as defined by <a href="IEEE_802.1Q" title="IEEE 802.1Q">IEEE 802.1Q</a>. In particular, 802.1AS defines how <a href="IEEE_802.3" title="IEEE 802.3">IEEE 802.3</a> (<a href="Ethernet" title="Ethernet">Ethernet</a>), <a href="IEEE_802.11" title="IEEE 802.11">IEEE 802.11</a> (<a href="Wi-Fi" title="Wi-Fi">Wi-Fi</a>), and <a href="Multimedia_over_Coax_Alliance" title="Multimedia over Coax Alliance">MoCA</a> can all be parts of the same PTP timing domain.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup></li>
<li><a href="SMPTE_2059" title="SMPTE 2059">SMPTE 2059</a>-2 is a PTP profile for use in synchronization of broadcast media systems.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></li>
<li>The <a href="AES67" title="AES67">AES67</a> audio networking interoperability standard includes a PTPv2 profile compatible with SMPTE ST2059-2.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Dante_(networking)" title="Dante (networking)">Dante</a> uses PTPv1 for synchronization.<sup id="cite_ref-coveloz2016_29-0" class="reference"><a href="#cite_note-coveloz2016-29"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Q-LAN" title="Q-LAN">Q-LAN</a><sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> and <a href="Ravenna_(networking)" title="Ravenna (networking)">RAVENNA</a><sup id="cite_ref-coveloz2016_29-1" class="reference"><a href="#cite_note-coveloz2016-29"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> use PTPv2 for time synchronization.</li>
<li><a href="The_White_Rabbit_Project" class="mw-redirect" title="The White Rabbit Project">The White Rabbit Project</a> combines <a href="Synchronous_Ethernet" title="Synchronous Ethernet">Synchronous Ethernet</a> and PTP.</li>
<li><a href="Precision_Time_Protocol_Industry_Profile" title="Precision Time Protocol Industry Profile">Precision Time Protocol Industry Profile</a> PTP profiles (L2P2P and L3E2E) for industrial automation in IEC 62439-3</li>
<li><a href="IEC/IEEE_61850-9-3" title="IEC/IEEE 61850-9-3">IEC/IEEE 61850-9-3</a> PTP profile for substation automation adopted by IEC 61850</li>
<li><a href="Parallel_Redundancy_Protocol" title="Parallel Redundancy Protocol">Parallel Redundancy Protocol</a> use of PTP profiles (L2P2P and L3E2E) for industrial automation in parallel networks</li>
<li>PTP is being studied to be applied as a secure time synchronization protocol in power systems' Wide Area Monitoring<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="List_of_PTP_implementations" title="List of PTP implementations">List of PTP implementations</a> – Systems supporting Precision Time Protocol</li>
<li><a href="Real-time_communication" title="Real-time communication">Real-time communication</a> – Protocols and communication hardware that give real-time guarantees</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-lower-alpha">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">The profile capability under IEEE 1588-2008 allows the use of application-specific epochs.<sup id="cite_ref-1588-2008_9-0" class="reference"><a href="#cite_note-1588-2008-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: Annex B">: Annex B </span></sup></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text">In IEEE 1588-2002, information carried by <i>Announce</i> messages is carried in the <i>Sync</i> messages. In IEEE 1588-2008, the <i>Sync</i> message has been optimized and this information is no longer carried here.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text">PTP over bare IEEE 802.3 Ethernet using <a href="Ethertype" class="mw-redirect" title="Ethertype">Ethertype</a> 0x88F7</span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">IEEE 1588-2002 non-default domains use destination addresses 224.0.1.130 through 224.0.1.132 (see <a href="#Domains">#Domains</a>).</span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">Where <i>x</i> is the address scope (2 for link-local) as per RFC 2373 (see <a href="Multicast_address#IPv6" title="Multicast address">IPv6 multicast address</a>)</span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">In some PTP applications it is permissible to send all PTP messages to 01-1B-19-00-00-00</span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">Peer delay messages are intended to propagate to the immediately connected neighbor. The multicast addresses for these messages are designed to be link-local in scope and are not passed through a <a href="Router_(computing)" title="Router (computing)">router</a>. IEEE 1588-2008 also recommends setting <a href="Time_to_live" title="Time to live">time to live</a> to 1 (IPv4) or hop limit to 0 (IPv6) as further insurance that the messages will not be routed.</span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">Peer delay messaging is not present in IEEE 1588-2002</span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">IEEE 1588-2002 defines a <i>domain</i> as any interconnected set of clocks (regardless of whether they synchronized to one another) and uses <i>subdomain</i> to refer to what is known as a <i>domain</i> in IEEE 1588-2008.</span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text">IEEE 1588-2008 uses 224.0.1.129 as the address for all multicast messages.</span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">AVB is further extended by the IEEE 802.1 <a href="Time-Sensitive_Networking" title="Time-Sensitive Networking">Time-Sensitive Networking</a> (TSN) Task Group.</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFEidson2005" class="citation web cs1">Eidson, John (10 October 2005). <a rel="nofollow" class="external text" href="https://www.nist.gov/document/tutorial-basicpdf">"IEEE-1588 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, a Tutorial"</a>. National Institute of Standards and Technology (NIST).</cite></span>
</li>
<li id="cite_note-Eidson-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-Eidson_2-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFEidson2006" class="citation book cs1">Eidson, John C. (April 2006). <i>Measurement, Control and Communication Using IEEE 1588</i>. <a href="Springer_Science%2BBusiness_Media" title="Springer Science+Business Media">Springer</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-84628-250-8</bdi>.</cite></span>
</li>
<li id="cite_note-Eidson2-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-Eidson2_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFEidson2006" class="citation web cs1">Eidson, John (2 October 2006). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100331083017/http://ieee1588.nist.gov/2006%20IEEE1588%20Agenda/Eidson_1588_Version%202.pdf">"IEEE 1588 Standard Version 2 - A Tutorial"</a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="http://ieee1588.nist.gov/2006%20IEEE1588%20Agenda/Eidson_1588_Version%202.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 31 March 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">12 June</span> 2008</span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://standards.ieee.org/ieee/1588/6825/">"1588-2019 - IEEE Approved Draft Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems"</a>. IEEE<span class="reference-accessdate">. Retrieved <span class="nowrap">15 February</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-Arnold_2017-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-Arnold_2017_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Arnold_2017_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFDouglas_Arnold2017" class="citation web cs1">Douglas Arnold (24 September 2017). <a rel="nofollow" class="external text" href="https://blog.meinbergglobal.com/2017/09/24/whats-coming-next-edition-ieee-1588/">"What's coming In the Next Edition of IEEE 1588?"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">15 February</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-IEEE_1588g-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-IEEE_1588g_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-IEEE_1588g_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation cs2"><i>IEEE 1588g-2022 Amendment 2: Master-Slave Optional Alternative Terminology</i>, <a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a>, 3 December 2022</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100527161310/http://ieee1588.nist.gov/terms.htm">"Meanings of common terms used in IEEE 1588"</a>. National Institute of Standards and Technology. Archived from <a rel="nofollow" class="external text" href="http://ieee1588.nist.gov/terms.htm">the original</a> on 27 May 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">19 May</span> 2006</span>.</cite></span>
</li>
<li id="cite_note-TI2013-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-TI2013_8-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.ti.com/lit/an/snla104a/snla104a.pdf">"AN-1838 IEEE 1588 Boundary Clock and Transparent Clock Implementation Using the DP83640"</a> <span class="cs1-format">(PDF)</span>. <i>ti.com</i>. Texas Instruments<span class="reference-accessdate">. Retrieved <span class="nowrap">17 July</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-1588-2008-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-1588-2008_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-1588-2008_9-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-1588-2008_9-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-1588-2008_9-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-1588-2008_9-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-1588-2008_9-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-1588-2008_9-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-1588-2008_9-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-1588-2008_9-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-1588-2008_9-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-1588-2008_9-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-1588-2008_9-11"><sup><i><b>l</b></i></sup></a></span> <span class="reference-text"><cite class="citation cs2"><i>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</i>, <a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a>, 24 July 2008, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FIEEESTD.2008.4579760">10.1109/IEEESTD.2008.4579760</a>, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-7381-5400-8</bdi></cite></span>
</li>
<li id="cite_note-1588-2002-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-1588-2002_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-1588-2002_12-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-1588-2002_12-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation cs2"><i>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</i>, <a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a>, 8 November 2002, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FIEEESTD.2002.94144">10.1109/IEEESTD.2002.94144</a>, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-7381-3369-0</bdi></cite></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite id="CITEREFWattAchantaAbubakariSagen2014" class="citation cs2">Watt, Steve T.; Achanta, Shankar; Abubakari, Hamza; Sagen, Eric (March 2014), <a rel="nofollow" class="external text" href="https://cdn.selinc.com/assets/Literature/Publications/Technical%20Papers/6650_UnderstandingApplying_SA_20140206_Web3.pdf"><i>Understanding and Applying Precision Time Protocol</i></a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">, retrieved <span class="nowrap">9 September</span> 2017</span></cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite id="CITEREFFSMLabs_Technical_Staff2015" class="citation cs2">FSMLabs Technical Staff (September 2015), <a rel="nofollow" class="external text" href="http://www.fsmlabs.com/news/2015/09/18/socalledbestmasterclock.html"><i>Smart and Dumb PTP Client and the "so-called"Best Master Clock Algorithm</i></a><span class="reference-accessdate">, retrieved <span class="nowrap">17 May</span> 2018</span></cite></span>
</li>
<li id="cite_note-IEC-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-IEC_23-0">^</a></b></span> <span class="reference-text"><a href="International_standard" title="International standard">International standard</a> <a href="IEC" class="mw-redirect" title="IEC">IEC</a> 61588: Precision clock synchronization protocol for networked measurement and control systems. 2004.</span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.ispcs.org">ISPCS website</a></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite id="CITEREFGeoffrey_M._Garner2010" class="citation cs2">Geoffrey M. Garner (28 May 2010), <a rel="nofollow" class="external text" href="https://www.itu.int/dms_pub/itu-t/oth/06/38/T06380000040002PDFE.pdf"><i>IEEE 802.1AS and IEEE 1588</i></a> <span class="cs1-format">(PDF)</span></cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://www.smpte.org/news-events/news-releases/smpte%C2%AE-publishes-first-two-parts-standard-enabling-deployment-ptp-timed"><i>SMPTE Publishes First Two Parts of Standard Enabling Deployment of PTP-Timed Equipment in Existing SDI Plants</i></a>, <a href="Society_of_Motion_Picture_and_Television_Engineers" title="Society of Motion Picture and Television Engineers">Society of Motion Picture and Television Engineers</a>, 13 April 2015<span class="reference-accessdate">, retrieved <span class="nowrap">21 May</span> 2015</span></cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="http://www.aes.org/publications/standards/search.cfm?docID=105"><i>AES-R16-2016: AES Standards Report - PTP parameters for AES67 and SMPTE ST 2059-2 interoperability</i></a>, <a href="Audio_Engineering_Society" title="Audio Engineering Society">Audio Engineering Society</a>, 2 May 2016</cite></span>
</li>
<li id="cite_note-coveloz2016-29"><span class="mw-cite-backlink">^ <a href="#cite_ref-coveloz2016_29-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-coveloz2016_29-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external free" href="https://www.smpte.org/sites/default/files/users/user27446/AES67%20for%20Audio%20Production-Background%20Applications%20and%20Challenges.pdf">https://www.smpte.org/sites/default/files/users/user27446/AES67%20for%20Audio%20Production-Background%20Applications%20and%20Challenges.pdf</a> </span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><cite id="CITEREFOyen2017" class="citation web cs1">Oyen, Seppe (6 June 2017). <a rel="nofollow" class="external text" href="https://www.luminex.be/improve-your-timekeeping-with-ptpv2/">"PTPv2 Timing protocol in AV networks"</a>. <i>Luminex</i>. <q>Q-LAN updated to PTPv2 approximately two years ago.</q></cite></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite id="CITEREFPepicielloVaccaro2018" class="citation cs2">Pepiciello, Antonio; Vaccaro, Alfredo (17 December 2018), "A reliable architecture based on Precision Time Protocol for WAMPAC synchronization", <i>2018 AEIT International Annual Conference</i>, <a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a>, pp. <span class="nowrap">1–</span>5, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.23919%2FAEIT.2018.8577414">10.23919/AEIT.2018.8577414</a>, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-8-8872-3740-5</bdi>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:58819556">58819556</a></cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.nist.gov/el/intelligent-systems-division-73500/ieee-1588">NIST IEEE 1588 site</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20131206102327/http://www.zhaw.ch/en/engineering/institutes-centres/ines/downloads/documents.html">PTP documentation at InES</a></li>
<li><a rel="nofollow" class="external text" href="https://www.albedotelecom.com/src/lib/WP-Mobile-PTP.pdf">PTP and Synchronization of LTE mobile networks</a></li>
<li><a rel="nofollow" class="external text" href="https://www.albedotelecom.com/src/lib/WP-PTP.pdf">PTP explained under the installation / maintenance point of view</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110818184219/http://www.belden.com/pdfs/Techpprs/Precision_Clock_Synchronization_WP.pdf">Hirschmann PTP Whitepaper</a></li>
<li><a rel="nofollow" class="external text" href="https://www.cisco.com/c/en/us/td/docs/switches/connectedgrid/cgs2520/software/release/12_2_58_ey/configuration/cgs_2520_swcg.html#wp1988925">PTP overview in Cisco CGS 2520 Switch Software Configuration Guide</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160304192052/http://www.bcit.ca/files/appliedresearch/pdf/ruggedcom_industry.pdf">Perspectives and priorities on RuggedCom Smart Grid Research IEC 61850 Technologies</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120114222001/http://xn--61850-txen0l.xn--p1ai/wp-content/plugins/downloads-manager/upload/Introduction%20of%20Smart%20Subsltation%20Projects.pdf">Projects with Smart Substation Solution</a></li>
<li><cite id="CITEREFMcGheeGoraj2010" class="citation cs2">McGhee, Jim; Goraj, Maciej (2010), "Smart High Voltage Substation Based on IEC 61850 Process Bus and IEEE 1588 Time Synchronization", <i>2010 First IEEE International Conference on Smart Grid Communications</i>, pp. <span class="nowrap">489–</span>494, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FSMARTGRID.2010.5622092">10.1109/SMARTGRID.2010.5622092</a>, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4244-6510-1</bdi>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:30638718">30638718</a></cite></li>
<li><cite id="CITEREFIngramCampbellSchaubLedwich2011" class="citation book cs1">Ingram, D.M.E; Campbell, D.A.; Schaub, P.; Ledwich, G.F. (2011). <a rel="nofollow" class="external text" href="https://eprints.qut.edu.au/41257/">"Test and evaluation system for multi-protocol sampled value protection schemes"</a>. <i>2011 IEEE Trondheim PowerTech</i>. Trondheim, Norway: IEEE. pp. <span class="nowrap">1–</span>7. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FPTC.2011.6019243">10.1109/PTC.2011.6019243</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4244-8419-5</bdi>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:42991214">42991214</a>.</cite></li>
<li><a rel="nofollow" class="external text" href="https://safran-navigation-timing.com/solution/white-rabbit-solutions/">The White Rabbit Project PTP</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170205095756/http://lamspeople.epfl.ch/kirrmann/Pubs/IEC_62439-3/PacWorld_038_043_IEC_IEEE_61850-9-3_September_2016_HK.pdf">IEC&IEEE Precision Time Protocol</a><i>, Pacworld, September 2016</i></li>
<li><a rel="nofollow" class="external text" href="https://webstore.iec.ch/publication/24447">IEC 62439-3 Annexes A-E Redundant attachment of clocks and network management</a></li>
<li><a rel="nofollow" class="external text" href="https://www.luminex.be/improve-your-timekeeping-with-ptpv2-2/">PTPv2 Timing protocol in AV networks</a></li>
<li><a rel="nofollow" class="external text" href="https://www.fsmlabs.com/news/2016/03/31/singlesource.html">FSMLabs: Single source IEEE PTP 1588 cannot meet financial regulatory standards</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="IEEE_standards209" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="IEEE_standards209" style="font-size:114%;margin:0 4em"><a href="IEEE_Standards_Association" title="IEEE Standards Association">IEEE standards</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Current</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IEEE-488" class="mw-redirect" title="IEEE-488">488</a></li>
<li><a href="IEEE_693" title="IEEE 693">693</a></li>
<li><a href="Software_quality_assurance" title="Software quality assurance">730</a></li>
<li><a href="IEEE_754" title="IEEE 754">754</a>
<ul><li><a href="IEEE_754-2008_revision" title="IEEE 754-2008 revision">Revision</a></li></ul></li>
<li><a href="IEEE_854-1987" title="IEEE 854-1987">854</a></li>
<li><a href="Software_configuration_management" title="Software configuration management">828</a></li>
<li><a href="Software_test_documentation" title="Software test documentation">829</a></li>
<li><a href="Futurebus" title="Futurebus">896</a></li>
<li><a href="Single_UNIX_Specification" title="Single UNIX Specification">1003</a></li>
<li><a href="VMEbus" title="VMEbus">1014</a></li>
<li><a href="Software_design_description" title="Software design description">1016</a></li>
<li><a href="VHDL" title="VHDL">1076</a></li>
<li><a href="JTAG" title="JTAG">1149.1</a></li>
<li><a href="PILOT" title="PILOT">1154</a></li>
<li><a href="IEEE_1164" title="IEEE 1164">1164</a></li>
<li><a href="Open_Firmware" title="Open Firmware">1275</a></li>
<li><a href="Distributed_Interactive_Simulation" title="Distributed Interactive Simulation">1278</a></li>
<li><a href="IEEE_1284" title="IEEE 1284">1284</a></li>
<li><a href="IEEE_1355" title="IEEE 1355">1355</a></li>
<li><a href="IEEE_1394" title="IEEE 1394">1394</a></li>
<li><a href="IEEE_1451" title="IEEE 1451">1451</a></li>
<li><a href="Standard_Delay_Format" title="Standard Delay Format">1497</a></li>
<li><a href="High_Level_Architecture" title="High Level Architecture">1516</a></li>
<li><a href="IEEE_1541-2002" class="mw-redirect" title="IEEE 1541-2002">1541</a></li>
<li><a href="IEEE_1547" title="IEEE 1547">1547</a></li>
<li><a href="IEEE_1584" title="IEEE 1584">1584</a></li>
<li><a href="Scalable_Coherent_Interface" title="Scalable Coherent Interface">1596</a></li>
<li><a href="Advanced_Library_Format" title="Advanced Library Format">1603</a></li>
<li><a href="IEEE_1613" title="IEEE 1613">1613</a></li>
<li><a href="IEEE_1619" class="mw-redirect" title="IEEE 1619">1619</a></li>
<li><a href="SystemC" title="SystemC">1666</a></li>
<li><a href="IEEE_1667" title="IEEE 1667">1667</a></li>
<li><a href="IEEE_1675-2008" title="IEEE 1675-2008">1675</a></li>
<li><a href="IP-XACT" title="IP-XACT">1685</a></li>
<li><a href="IEEE_1722" class="mw-redirect" title="IEEE 1722">1722</a></li>
<li><a href="IEEE_1733" class="mw-redirect" title="IEEE 1733">1733</a></li>
<li><a href="SystemVerilog" title="SystemVerilog">1800</a></li>
<li><a href="Unified_Power_Format" title="Unified Power Format">1801</a></li>
<li><a href="DNP3" title="DNP3">1815</a></li>
<li><a href="IEEE_1849" title="IEEE 1849">1849</a></li>
<li><a href="Property_Specification_Language" title="Property Specification Language">1850</a></li>
<li><a href="IEEE_1855" title="IEEE 1855">1855</a></li>
<li><a href="DySPAN" title="DySPAN">1900</a></li>
<li><a href="IEEE_1901" title="IEEE 1901">1901</a></li>
<li><a href="RuBee" title="RuBee">1902</a></li>
<li><a href="Service_Interoperability_in_Ethernet_Passive_Optical_Networks" title="Service Interoperability in Ethernet Passive Optical Networks">1904</a></li>
<li><a href="IEEE_1905" title="IEEE 1905">1905</a></li>
<li><a href="IEEE_2030" title="IEEE 2030">2030</a></li>
<li><a href="Micro_T-Kernel" title="Micro T-Kernel">2050</a></li>
<li><a href="ISO/IEEE_11073" title="ISO/IEEE 11073">11073</a></li>
<li><a href="ISO/IEC_12207" title="ISO/IEC 12207">12207</a></li>
<li><a href="Software_maintenance" title="Software maintenance">14764</a></li>
<li><a href="Risk_management" title="Risk management">16085</a></li>
<li><a href="Project_management" title="Project management">16326</a></li>
<li><a href="Requirements_engineering" title="Requirements engineering">29148</a></li>
<li><a href="ISO/IEC_42010" title="ISO/IEC 42010">42010</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="IEEE_802" title="IEEE 802">802 series</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="IEEE_802" title="IEEE 802">802</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IEEE_802.2" title="IEEE 802.2">.2</a></li>
<li><a href="Token_bus_network" title="Token bus network">.4</a></li>
<li><a href="Token_Ring" title="Token Ring">.5</a></li>
<li><a href="IEEE_802.6" title="IEEE 802.6">.6</a></li>
<li><a href="IEEE_802.7" title="IEEE 802.7">.7</a></li>
<li><a href="IEEE_802.8" title="IEEE 802.8">.8</a></li>
<li><a href="IEEE_802.9" title="IEEE 802.9">.9</a></li>
<li><a href="IEEE_802.10" title="IEEE 802.10">.10</a></li>
<li><a href="100BaseVG" title="100BaseVG">.12</a></li>
<li><a href="Cable_modem#IEEE_802.14" title="Cable modem">.14</a></li>
<li><a href="IEEE_802.16" title="IEEE 802.16">.16</a>
<ul><li><a href="WiMAX" title="WiMAX">WiMAX · d · e</a></li></ul></li>
<li><a href="Resilient_Packet_Ring" title="Resilient Packet Ring">.17</a></li>
<li><a href="IEEE_802.18" title="IEEE 802.18">.18</a></li>
<li><a href="IEEE_802.20" title="IEEE 802.20">.20</a></li>
<li><a href="IEEE_802.21" title="IEEE 802.21">.21</a></li>
<li><a href="IEEE_802.22" title="IEEE 802.22">.22</a></li>
<li>.24</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="IEEE_802.1" title="IEEE 802.1">802.1</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IEEE_802.1D" title="IEEE 802.1D">D</a></li>
<li><a href="IEEE_P802.1p" title="IEEE P802.1p">p</a></li>
<li><a href="IEEE_802.1Q" title="IEEE 802.1Q">Q</a></li>
<li><a href="IEEE_802.1Qav" class="mw-redirect" title="IEEE 802.1Qav">Qav</a></li>
<li><a href="Stream_Reservation_Protocol" title="Stream Reservation Protocol">Qat</a></li>
<li><a href="Provider_Backbone_Bridge_Traffic_Engineering" title="Provider Backbone Bridge Traffic Engineering">Qay</a></li>
<li><a href="Data_center_bridging#IEEE_Task_Group" title="Data center bridging">Qaz</a></li>
<li><a href="IEEE_802.1Qbb" class="mw-redirect" title="IEEE 802.1Qbb">Qbb</a></li>
<li><a href="Spanning_Tree_Protocol" title="Spanning Tree Protocol">w</a></li>
<li><a href="IEEE_802.1X" title="IEEE 802.1X">X</a></li>
<li><a href="Link_Layer_Discovery_Protocol" title="Link Layer Discovery Protocol">AB</a></li>
<li><a href="IEEE_802.1ad" title="IEEE 802.1ad">ad</a></li>
<li><a href="IEEE_802.1AE" title="IEEE 802.1AE">AE</a></li>
<li><a href="IEEE_802.1ag" title="IEEE 802.1ag">ag</a></li>
<li><a href="IEEE_802.1ah-2008" class="mw-redirect" title="IEEE 802.1ah-2008">ah</a></li>
<li><a href="Multiple_Registration_Protocol" title="Multiple Registration Protocol">ak</a></li>
<li><a href="IEEE_802.1aq" title="IEEE 802.1aq">aq</a></li>
<li><a href="IEEE_802.1AS" class="mw-redirect" title="IEEE 802.1AS">AS</a></li>
<li><a href="Link_aggregation" title="Link aggregation">AX</a> (<a href="Link_Aggregation_Control_Protocol" class="mw-redirect" title="Link Aggregation Control Protocol">LACP</a>)</li>
<li><a href="Audio_Video_Bridging" title="Audio Video Bridging">BA</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="IEEE_802.3" title="IEEE 802.3">802.3</a> <br>(<a href="Ethernet" title="Ethernet">Ethernet</a>)</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="10BASE5" title="10BASE5">-1983</a></li>
<li><a href="802.3a" class="mw-redirect" title="802.3a">a</a></li>
<li><a href="802.3b" class="mw-redirect" title="802.3b">b</a></li>
<li><a href="802.3d" class="mw-redirect" title="802.3d">d</a></li>
<li><a href="802.3e" class="mw-redirect" title="802.3e">e</a></li>
<li><a href="802.3i" class="mw-redirect" title="802.3i">i</a></li>
<li><a href="802.3j" class="mw-redirect" title="802.3j">j</a></li>
<li><a href="802.3u" class="mw-redirect" title="802.3u">u</a></li>
<li><a href="IEEE_802.3x" class="mw-redirect" title="IEEE 802.3x">x</a></li>
<li><a href="802.3y" class="mw-redirect" title="802.3y">y</a></li>
<li><a href="802.3z" class="mw-redirect" title="802.3z">z</a></li>
<li><a href="802.3ab" class="mw-redirect" title="802.3ab">ab</a></li>
<li><a href="802.3ac" class="mw-redirect" title="802.3ac">ac</a></li>
<li><a href="802.3ad" class="mw-redirect" title="802.3ad">ad</a></li>
<li><a href="802.3ae" class="mw-redirect" title="802.3ae">ae</a></li>
<li><b><a href="802.3af" class="mw-redirect" title="802.3af">af</a></b></li>
<li><a href="802.3ah" class="mw-redirect" title="802.3ah">ah</a></li>
<li><a href="802.3ak" class="mw-redirect" title="802.3ak">ak</a></li>
<li><a href="802.3an" class="mw-redirect" title="802.3an">an</a></li>
<li><a href="802.3aq" class="mw-redirect" title="802.3aq">aq</a></li>
<li><b><a href="802.3at" class="mw-redirect" title="802.3at">at</a></b></li>
<li><a href="802.3au" class="mw-redirect" title="802.3au">au</a></li>
<li><a href="802.3av" class="mw-redirect" title="802.3av">av</a></li>
<li><a href="802.3az" class="mw-redirect" title="802.3az">az</a></li>
<li><a href="802.3ba" class="mw-redirect" title="802.3ba">ba</a></li>
<li><b><a href="802.3bt" class="mw-redirect" title="802.3bt">bt</a></b></li>
<li><a href="802.3bu" class="mw-redirect" title="802.3bu">bu</a></li>
<li><a href="802.3by" class="mw-redirect" title="802.3by">by</a></li>
<li><a href="802.3bz" class="mw-redirect" title="802.3bz">bz</a></li>
<li>ca</li>
<li>cb</li>
<li>cc</li>
<li>cd</li>
<li>ce</li>
<li><a href="802.3cg" class="mw-redirect" title="802.3cg">cg</a></li>
<li><a href="802.3ch" class="mw-redirect" title="802.3ch">ch</a></li>
<li>ck</li>
<li>cm</li>
<li>cn</li>
<li>cp</li>
<li><a href="802.3cq" class="mw-redirect" title="802.3cq">cq</a></li>
<li>cr</li>
<li>cs</li>
<li>ct</li>
<li>cu</li>
<li><a href="802.3cv" class="mw-redirect" title="802.3cv">cv</a></li>
<li>cw</li>
<li>cx</li>
<li>cy</li>
<li>cz</li>
<li>da</li>
<li>db</li>
<li><a href="802.3dd" class="mw-redirect" title="802.3dd">dd</a></li>
<li>de</li>
<li>df</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="IEEE_802.11" title="IEEE 802.11">802.11</a> <br>(<a href="Wi-Fi" title="Wi-Fi">Wi-Fi</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IEEE_802.11-1997" class="mw-redirect" title="IEEE 802.11-1997">-1997</a></li>
<li><a href="IEEE_802.11_(legacy_mode)" title="IEEE 802.11 (legacy mode)">legacy mode</a></li>
<li><a href="IEEE_802.11a-1999" title="IEEE 802.11a-1999">a</a></li>
<li><a href="IEEE_802.11b-1999" title="IEEE 802.11b-1999">b</a></li>
<li><a href="IEEE_802.11c" title="IEEE 802.11c">c</a></li>
<li><a href="IEEE_802.11d-2001" title="IEEE 802.11d-2001">d</a></li>
<li><a href="IEEE_802.11e-2005" title="IEEE 802.11e-2005">e</a></li>
<li><a href="Inter-Access_Point_Protocol" title="Inter-Access Point Protocol">f</a></li>
<li><a href="IEEE_802.11g-2003" title="IEEE 802.11g-2003">g</a></li>
<li><a href="IEEE_802.11h-2003" title="IEEE 802.11h-2003">h</a></li>
<li><a href="IEEE_802.11i-2004" title="IEEE 802.11i-2004">i</a></li>
<li><a href="IEEE_802.11j-2004" title="IEEE 802.11j-2004">j</a></li>
<li><a href="IEEE_802.11k-2008" title="IEEE 802.11k-2008">k</a></li>
<li><b><a href="IEEE_802.11n-2009" title="IEEE 802.11n-2009">n</a></b> (<a href="Wi-Fi_4" class="mw-redirect" title="Wi-Fi 4">Wi-Fi 4</a>)</li>
<li><a href="IEEE_802.11p" title="IEEE 802.11p">p</a></li>
<li><a href="IEEE_802.11r-2008" title="IEEE 802.11r-2008">r</a></li>
<li><a href="IEEE_802.11s" title="IEEE 802.11s">s</a></li>
<li><a href="IEEE_802.11u" title="IEEE 802.11u">u</a></li>
<li><a href="IEEE_802.11v" class="mw-redirect" title="IEEE 802.11v">v</a></li>
<li><a href="IEEE_802.11w-2009" title="IEEE 802.11w-2009">w</a></li>
<li><a href="IEEE_802.11y-2008" title="IEEE 802.11y-2008">y</a></li>
<li><a href="IEEE_802.11z" class="mw-redirect" title="IEEE 802.11z">z</a></li>
<li>aa</li>
<li><b><a href="IEEE_802.11ac" class="mw-redirect" title="IEEE 802.11ac">ac</a></b> (<a href="Wi-Fi_5" class="mw-redirect" title="Wi-Fi 5">Wi-Fi 5</a>)</li>
<li><a href="IEEE_802.11ad" title="IEEE 802.11ad">ad</a> (<a href="WiGig" title="WiGig">WiGig</a>)</li>
<li>ae</li>
<li><a href="IEEE_802.11af" title="IEEE 802.11af">af</a></li>
<li><a href="IEEE_802.11ah" title="IEEE 802.11ah">ah</a></li>
<li><a href="IEEE_802.11ai" title="IEEE 802.11ai">ai</a></li>
<li><a href="IEEE_802.11aj" class="mw-redirect" title="IEEE 802.11aj">aj</a></li>
<li>ak</li>
<li>aq</li>
<li><b><a href="IEEE_802.11ax" class="mw-redirect" title="IEEE 802.11ax">ax</a></b> (<a href="Wi-Fi_6" title="Wi-Fi 6">Wi-Fi 6</a>)</li>
<li><a href="IEEE_802.11ay" title="IEEE 802.11ay">ay</a></li>
<li>az</li>
<li>ba</li>
<li><a href="IEEE_802.11bb" title="IEEE 802.11bb">bb</a></li>
<li>bc</li>
<li>bd</li>
<li><b><a href="IEEE_802.11be" class="mw-redirect" title="IEEE 802.11be">be</a></b> (<a href="Wi-Fi_7" title="Wi-Fi 7">Wi-Fi 7</a>)</li>
<li>bf</li>
<li>bh</li>
<li>bi</li>
<li>bk</li>
<li><b><a href="IEEE_802.11bn" title="IEEE 802.11bn">bn</a></b> (Wi-Fi 8)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="IEEE_802.15" title="IEEE 802.15">802.15</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IEEE_802.15.1" class="mw-redirect" title="IEEE 802.15.1">.1</a> (<a href="Bluetooth" title="Bluetooth">Bluetooth</a>)</li>
<li><a href="IEEE_802.15.2" class="mw-redirect" title="IEEE 802.15.2">.2</a></li>
<li><a href="IEEE_802.15.3" class="mw-redirect" title="IEEE 802.15.3">.3</a></li>
<li><a href="IEEE_802.15.4" title="IEEE 802.15.4">.4</a> (<a href="Zigbee" title="Zigbee">Zigbee</a>)</li>
<li><a href="IEEE_802.15.4a" title="IEEE 802.15.4a">.4a</a></li>
<li>.4b</li>
<li>.4c</li>
<li>.4d</li>
<li>.4e</li>
<li>.4f</li>
<li>.4g</li>
<li>.4z</li>
<li><a href="IEEE_802.15.5" class="mw-redirect" title="IEEE 802.15.5">.5</a></li>
<li><a href="IEEE_802.15.6" title="IEEE 802.15.6">.6</a></li>
<li><a href="IEEE_802.15.7" class="mw-redirect" title="IEEE 802.15.7">.7</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Proposed</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IEEE_P1363" title="IEEE P1363">P1363</a></li>
<li><a href="IEEE_P1619" title="IEEE P1619">P1619</a></li>
<li><a href="Rosetta-lang" title="Rosetta-lang">P1699</a></li>
<li><a href="Universal_Power_Adapter_for_Mobile_Devices" title="Universal Power Adapter for Mobile Devices">P1823</a></li>
<li><a href="IEEE_P1906.1" title="IEEE P1906.1">P1906.1</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Superseded</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IEEE_754-1985" title="IEEE 754-1985">754-1985</a></li>
<li><a href="Software_requirements_specification" title="Software requirements specification">830</a></li>
<li><a href="IEEE_1219" class="mw-redirect" title="IEEE 1219">1219</a></li>
<li><a href="Software_requirements_specification" title="Software requirements specification">1233</a></li>
<li><a href="Concept_of_operations" title="Concept of operations">1362</a></li>
<li><a href="Verilog" title="Verilog">1364</a></li>
<li><a href="IEEE_1471" title="IEEE 1471">1471</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-06-15" href="https://en.wikipedia.org/wiki/?title=Precision_Time_Protocol&oldid=1295728177">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>